home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS Toolkit
/
BBS Toolkit.iso
/
remote
/
dep_50.zip
/
DEPOSIT.DOC
< prev
next >
Wrap
Text File
|
1993-03-08
|
32KB
|
746 lines
Online INSTAbank 5.0 Public Release Version
A RemoteAccess 2.00.x Time and Byte Bank
───────────────────────────────────────────
(C) 1992-1993, William J. Dykstra
************************
IMPORTANT NOTICE
************************
Online INSTAbank version 5.0 uses a new data file
format! You **MUST** convert previous data files
to version 5 format! Sorry for doing this to you,
but it was necessary.
To convert 1.0-3.3 to version 5.0 first run 3TO4.EXE
and then run 4TO5.EXE.
To convert 3.5-4.3 to version 5.0 run 4TO5.EXE.
see details later in the documentation
if necessary
Online INSTAbank is a Borland Pascal 7.0 application written
for RemoteAccess 2.00.x and compatible versions. This program
will allow users to deposit and withdraw time and bytes.
The sysop may configure the maximum daily deposits and
withdrawals, as well as the maximum balances. There is also
a Rob the Bank feature, which may be enabled or disabled by
the sysop.
This program has been extensively tested on my BBS, and has
not caused any problems. There is, of course, absolutely NO
WARRANTY of any kind! This program may work for you, or it
may not! It will NOT WORK WILL ALL VERSIONS OF THE BNU Fossil
driver. It works fine with X00, but has been known to
lockup BNU systems. If you use the BNU .SYS file instead of the
BNU .COM file, you will probably have better luck with the program.
This program is being distributed as FREEWARE. That's right,
its gonna cost you all of zero dollars to register it. You
*MUST*, however, register it after 10 days of trial use.
Please see the section about registration at the end of this
document for more details.
PLEASE READ THE DOCUMENTATION CAREFULLY. I know you hate reading
the stuff... I hate writing it. But it is ESSENTIAL that you read
this stuff, or you could miss some important configuration details.
Please note that this version of Online INSTAbank will ONLY run on an
80286 machine or higher. If you would like an XT version please
contact the author.
Major Features of Online INSTAbank:
──────────────────────────────────
■ users may deposit and withdraw time and bytes
■ users may transfer time/bytes to other users
■ sysop may set the following limits:
- Maximum Time/Byte Balances
- Maximum Daily Time/Byte Deposit
- Maximum Daily Time/Byte Withdraw
- Maximum Time/Byte transfers to other users (may be disabled)
- Maximum number of bank/user robbery attempts (may be disabled)
■ View bank statistical information
■ Send message to another user
■ List accounts
■ Full sysop account editing/deleting locally or remotely
■ Capability to trade time for bytes or bytes for time
- Sysop may configure byte/time costs
■ Rob the Bank feature allows a user to steal time and bytes
from either the bank or another user (May be disabled)
■ Supports RA 2.00.x and compatible versions
■ Will not allow a user to take out time if it would cause
a conflict with the next scheduled system event
(reads system event as defined in RA, or from time left
according to DOBBS.BAT if you use a mailer like Front Door)
■ specify path and filename of log file (big deal)
■ Mulitnode support
■ Full transaction logging to a "bank book"
■ Status bar with time/KB adjustment and Chat mode
■ User defined START and END ANSI/ASCII screens
■ Support for THEBANK.EXT
■ The BEST part of all... FREE registration!
Online INSTAbank should run fine in DOS or Desqview. I have not
tested it in any other environments. The program requires approx
150k-200k free RAM to run.
Installing Online INSTAbank
───────────────────────────
Online INSTAbank 5.0 will NOT run with RemoteAccess 1.11 or earlier.
Version 5.0 is strictly for RemoteAccess 2.00.g1 and later versions.
I will NOT be supporting old versions of RemoteAccess. I will continue
to support old versions of Online INSTAbank, but I will not be making
new versions for the old RA. Sorry.
To install the program, first create a directory (eg C:\RA\DEPOSIT)
into which you will copy all the INSTAbank files. Now unzip the
original archive file into this directory. All of the bank's files
should be stored in this directory.
When running the program, be sure that you run DEPOSIT.EXE from the
current directory. In other words, change into your new bank files
directory (such as C:\RA\DEPOSIT), and then run the program.
Once you have unzipped the archive, you must create (or modify)
DEPOSIT.CFG. This is the configuration file, and is a standard ASCII
file. There should be 10 lines in this file, as follows.
Line 1 : Registration code. Leave a bunch of zeros if unregistered.
Line 2 : Sysop Name
Line 3 : BBS Name
Line 4 : Rob Bank (YES=enabled, NO=disabled)
Line 5 : Sysop Security Level (anyone with this level or higher can
access the sysop functions)
Line 6 : Path and filename of Log file (eg D:\RA\DEPOSIT.LOG)
Line 7 : Path to DOBBS.BAT. LEAVE THIS BLANK to disable this feature.
BE SURE YOU LEAVE A BLANK LINE FOR LINE 7 IF YOU DON'T USE
THIS FEATURE.
Line 8 : Max num of Bank robbery attempts allowed per day (0=disable)
Line 9 : Max num of User robbery attempts allowed per day (0=disable)
Line 10 : Number of days to keep transaction records in the bank book
Sample Configuration File:
-------------------------------------
000000000000
Sysop Name
BBS Name
YES
32000
C:\RA\DEPOSIT.LOG
C:\FD\
2
3
100
-------------------------------------
Note: The timebank itself does not read the 10th line of the
configuration file. It does not care how long transactions are
kept in the transaction file (the bank book). If you run
DEPMAINT with the /MAINT parameter (see below), it will read the
configuration file, and it will delete all records of transactions
that are older than the number of days you specify here.
You must also modify a file called DEPOSIT.SEC. This file MUST be
located in the directory with the bank's files (the directory you
created and unzipped everything into).
This file contains the various security levels and their limits.
You may have up to 100 different security levels defined, each on
its own line. If you define more than 100 levels, the rest will be
ignored.
SPECIAL NOTE: THE FIRST SECURITY LEVEL MUST BE 0. This
will be the DEFAULT limits for all users. If a user has a security
level that is not listed in this file, then that user's limits will
be set to the default limits.
DEPOSIT.SEC has this format:
<SL> <MTD> <MTW> <MBD> <MBW> <MTB> <MBB> <MTT> <MBT> <TC> <BC>
<SL> <MTD> <MTW> <MBD> <MBW> <MTB> <MBB> <MTT> <MBT> <TC> <BC>
<SL> <MTD> <MTW> <MBD> <MBW> <MTB> <MBB> <MTT> <MBT> <TC> <BC>
etc..etc...etc...
SL: Security Level
MTD: Maximum Time Deposit (daily)
MTW: Maximum Time Withdraw (daily)
MBD: Maximum Kbyte Deposit (daily)
MBW: Maximum Kbyte Withdraw (daily)
MTB: Maximum Time Balance
MBB: Maximum Byte Balance
MTT: Maximum Time Transfer
MBT: Maximum Byte Transfer
TC : Time Cost *see below
BC : Byte Cost *see below
example:
0 30 60 500 1000 120 4000 60 1000 40 10
10 60 90 800 2000 240 4000 90 2000 20 0
In the above example, all users by default will have a the following
limits: Max Time Deposit=30 mins
Max Time Withdraw=60 mins
Max Byte Deposit=500 kb
Max Byte Withdraw=1000 kb
Max Time Balance=120 mins
Max Byte Balance=4000 kb
Max Time transfer=60 mins
Max Byte transfer=1000 kb
Time Cost : Get 1 minute for 40 kb
Byte Cost : Get 50 kb for 10 minutes
and any user with security level 10 would have these limits instead of
the defaults : Max Time Deposit=60 mins
Max Time Withdraw=90 mins
Max Byte Deposit=800 kb
Max Byte Withdraw=2000 kb
Max Time Balance=240 mins
Max Byte Balance=4000 kb
Max Time Transfer=90 mins
Max Byte Transfer=2000 kb
Time Cost : Get 1 minute for 20 kb
Byte Cost : Byte purchases DISABLED (value of 0).
NOTE: The maximum value for each of these fields is 99,999.
The maximum Transfer values are the maximum amounts that a user may
transfer to another user per day. For example, if a user's maximum
time transfer value is 30 minutes, they may transfer up to 30 minutes
to as many different users as they wish (as long as they have the time
in the bank for the transfers). They may not deposit MORE than the
limit you set to the same user on the same day.
* TIME COST:
The time cost value is the number of bytes it will cost the
user for each minute they purchase. A value of 40 would indicate
a cost of 40kb for each minute purchased.
* BYTE COST:
Byte cost is a little different than time cost. The Byte cost
is based on 50kb. The value you set for the Byte cost will be
the number of minutes it costs for 50 kb. A value of 1 means
it will cost 1 minute to purchase 50 kb. A value of 3 means it
would cost 3 minutes to purchase 50 kb.
Please note that you may NOT use decimal values. A value of
ZERO (0) will disable the feature. You may choose to enable
time or byte purchases, but disable the other. You can disable
either one or the other or both by placing a zero in each
appropriate field.
WARNING: Be sure that your Byte Cost is high enough to offset your
time cost. If your byte cost is too low, it is possible
that a user could continually trade time for bytes, and then
trade those bytes for more time, and actually make a profit!
Example:
Time Cost = 10 (buy 1 minute for 10kb)
Byte Cost = 1 (buy 50kb for 1 minute)
I have 1000 kb and 100 minutes.
I sell my 1000kb for 100 minutes.
I now have 0 kb and 200 minutes.
I sell back the 100 minutes for 5000 kb.
I now have 5000 kb and 100 minutes. I have made
a super profit!
If, however, you set it up similar to this, a user could not
make a profit by trading time and bytes back and forth:
Time Cost = 20 (buy 1 minute for 20kb)
Byte Cost = 5 (buy 50kb for 5 minutes)
I have 1000 kb and 100 minutes in my account.
I sell my 1000 kb for 50 minutes.
I now have 0 kb and 150 minutes.
I sell back the 50 minutes for 500 kb.
I now have 500kb and 100 minutes. I cannot make
a profit this way. (I lost 500kb!)
I find a time cost of 20 (buy 1 minute for 20 kb) and a byte cost
of 5 (buy 50kb for 5 minutes) works very well. Sure, you are, in
a sense, ripping off the users, but sometimes they need time or
bytes and have the other, so they'll gladly trade the extra of one
to get some of the other!
(To make everything break even, ie no gain, no loss, set the time
cost to 10 and the byte cost to 5)
If you are unsure if your values will allow the user to make a profit
or not, then step through the example as I did above. If you (the user)
makes a profit, raise the byte cost or time cost.
Once you have modified the configuration files, you need to install
the program to run as an external door from RemoteAccess.
The program should be installed as a type 7 external program in
RACONFIG. The program requires that you pass the path to EXITINFO.BBS
and DORINFO1.DEF to it on the command line. To do this, I recommend
that you create a batch file (DEPOSIT.BAT).
For single node systems, this batch file may look like this:
@ECHO OFF
CD \RA\DEPOSIT
DEPOSIT.EXE C:\RA\
CD \RA
Your 'optional data' in the RemoteAccess menu configuration for this
item would be *C /C C:\RA\DEPOSIT.BAT
For multinode systems your batch file should look similar to this:
@ECHO OFF
CD \RA\DEPOSIT
DEPOSIT.EXE C:\RA\LINE%1\
CD \RA
Your 'optional data' field in the RemoteAccess menu configuration for
this item would be *C /C C:\RA\DEPOSIT.BAT *N
The *N will pass the current line number that the user is on to your
batch file. The batch file will, in turn, point to the proper line
directory. If you run a multinode system then you'll know what I'm
talking about here, so more explanation should not be necessary.
With the above multiline example, assuming you have 2 lines on your
system, if a user logged onto line 1 ran the bank, the %1 would become
a '1', so the directory being pointed to would be C:\RA\LINE1\. If a
user was on line 2, then it would point to C:\RA\LINE2\. Replace
the LINE in LINE%1 with whatever directory names you are using for
your separate RemoteAccess line directories.
Thanks to Richard Bollar for pointing me in the right direction for
multinode setup.
If you run into memory problems you may want to use the *M feature
in the RemoteAccess menu configuration field for 'optional data'.
You should not need to do this however. I run the program without
the *M parameter, both in DOS and Desqview environments.
The program will use ANSI colour codes if ANSI is enabled in the
DORINFO1.DEF file. If the user uses ANSI on the BBS, then they
will have ANSI in the bank. Avatar is NOT supported. If they do
not have ANSI enabled then it will run in plain ASCII mode.
Options available to the users:
The options that are available to users are:
- Deposit Time/Bytes
- Withdraw Time/Bytes
- List accounts
- Send message to another user (70 character max length)
- Rob the Bank (or another user) *only if enabled by sysop
- Transfer time/bytes to another user
- Statistics
- Version Information
- Trade Time for Bytes/Bytes for Time
- View past transactions (bank book)
- Quit
- * Sysop (available to any user who's security level matches
the Sysop Security level setting in the config file)
The Rob the Bank feature will appear on the menu if the sysop
has disabled this feature, but it will not be accessible.
The sysop menu will only be available to users who have a security
level that is equal to or greater than the level you set in the
configuration file. This option will NEVER be displayed on the
menu, even if the user is allowed to access the function. The
key to use to access the sysop menu is the * key.
Users may only view their own bank books. If a user has a security
level equal to or higher than the level defined as the sysop security
level, then they will be prompted for the name of the person who's
bank book they want to view. In other words, if the user has access
to the sysop menu, they will also be able to view anyone's bank book.
Start and End ANSI/ASCII screens
────────────────────────────────
If the files START.ANS and END.ANS (or .ASC) are found in the bank
directory, they will be displayed to the user just before and just
after the title and copyright notice screen. In other words your
ANSI/ASCII screens will be the very first and the very last things
displayed by the program.
Only one special character is currently supported, and that is the
CONTROL-A character (). If this character is found the bank will
wait until ENTER is pressed before it will continue displaying the
file.
START.ANS and END.ANS will be displayed to users who have the ANSI
setting enabled. Otherwise START.ASC and END.ASC will be displayed.
The user may press 'S' during the display of the screen to stop it.
THEBANK.EXT - Using external programs to modify accounts.
─────────── ──────────────────────────────────────────
Some doors create a file called THEBANK.EXT, which contains information
that is used to adjust bank account balances. Online INSTAbank now
supports this file.
Sample THEBANK.EXT:
JOHN SIMPSON:30
BILL DYKSTRA:-20
SEAN LAWSON:10
Each name is followed by a colon and a time value. If the time value
is positive, that amount of time will be added to the user's account.
If the time value is negative, that amount of time will be removed.
If the user's name is not found in the bank files, a new account will
be created.
Note: Accounts will never have negative values. If THEBANK.EXT says
that 15 minutes should be removed, but the user only has 10
minutes in the bank, then only 10 minutes will be removed.
Any balances that exceed the user's maximum balance will be
automatically erased the next time the user enters the bank.
To process THEBANK.EXT you must run the EXT_UTIL.EXE program. This
program will read THEBANK.EXT from the current directory, and will
apply the necessary changes to the users' accounts. THEBANK.EXT will
be deleted when the program is finished.
DEPMAINT.EXE - Maintenance Utility
──────────────────────────────────
This program contains the same options that the Sysop menu in
DEPOSIT.EXE does. This is for LOCAL use only, and is very
handy for changing account balances while a user is online.
You cannot use the sysop menu within the INSTAbank program
itself when a user is online, as it will read their info
from DORINFO1.DEF and EXITINFO.BBS.
*NEW* DEPMAINT now contains a security level editor to help you
setup your limits.
Running DEPMAINT D:\PATH\ /MAINT will CLEAN THE DATA FILES. This
option should be used now and then to clean out the data
files. Old messages (any messages that are marked as
read) will be deleted from the message file, and any users
that are no longer located in USERS.BBS will be deleted.
Accounts with no time and no bytes (empty accounts) will
also be removed. The regular DEPOSIT.LOG file will indicate
who's accounts have been deleted. This option will also clean
out the transaction file, deleting records of transactions that
are older than the number of days specified in DEPOSIT.CFG on
line 10.
D:\PATH\ must be the path to your CONFIG.RA file.
You may run this program in your nightly events if you desire.
Be sure to include the path to CONFIG.RA as the first parameter.
Be sure to use the /MAINT parameter as the second parameter!
No parameters are needed if you are only running the editor.
Using the editor
────────────────
The editor is rather easy to use. All the options available to
you are shown on a menu, and you simply select the option you
want to use.
When editing user accounts, it is very important that you keep
any dates that you change in MM-DD-YY form.
A new field in the user account record is the AllowRob field.
This field can be 0, 1, or 2, and will indicate if the user
may be robbed or if the user has chosen not to use the rob
feature.
0 = User may not be robbed (and may not rob others)
1 = User may be robbed (and may rob others)
2 = Ask user for their preference the next time they enter the
bank.
READMSGS.EXE - Message reader
─────────────────────────────
This program will simply display all of the messages that are in
the message file. Big deal. (it also shows who sent the
message, and who the message is for.)
CONVERSION UTILITIES
────────────────────
If you are upgrading from version 3.3 or earlier you MUST run
3TO4.EXE to convert the datafiles to version 4.3 format. You
must then run 4TO5.EXE to convert from 4.3 to 5.0 format.
If you are running any version of Online INSTAbank LATER than
version 3.3 (such as 4.0, 4.2, 4.3) then you must run 4TO5.EXE
to convert the version 4 data files to version 5.
Distributing Online INSTAbank
─────────────────────────────
Please feel free to distribute Online INSTAbank. Please
distribute only the original archive, in unmodified form.
NO FEE MAY BE CHARGED for this program, other than fees
necessary to cover the cost of distribution. This may be
included in shareware/freeware packages, such as CD-ROM disks
of shareware, etc.
Registering Online INSTAbank
────────────────────────────
You must register Online INSTAbank after 20 days of evaluation
use. If you continue to use the program after the 20 day trial
period, please register it. Registration is *FREE*, so you have
no excuse to avoid registering.
Why do I require registration if its FREE? I want to know how
many people are using the program, so I can determine if further
development should be done.
I will gladly accept suggestions and ideas for the program. If
there is a feature you would like to see, let me know. Also,
PLEASE let me know if you encounter any bugs of any kind!
Custom versions of the program may be written on request, for a
very modest fee (usually less than $25 Cndn). If it is a very
small modification, and most are, then there will be no charge.
I will just consider it an "implemented suggestion".
It has been suggested that this is not freeware, but rather
cardware or some other such system, because I require registration.
I do not agree with this, however. This is entirely freeware. I
don't ask you to go buy (or steal!) a postcard to send me, or
anything else at that matter. All I ask is that you tell me by
one means or another, that you are using the program! I think
that's pretty darn free, and pretty darn fair!
Future Plans:
────────────
Please send me your ideas. If you have a suggestion for the bank,
and it is something that I can add without too much work, I'll do
what I can to implement your suggestion.
Your ideas are welcome! Send em to me! Many users of INSTAbank
version 4.3 sent in suggestions, and many of them were implemented.
Some of the things suggested that I added were:
- fix up menu alignment
- get rid of the annoying double characters on local screen (bug)
- START and END ANSI/ASCII Screens
- Enhanced user editor (this was already planned though)
- Status bar with time adjustments (I also added KB adjustments)
- support for THEBANK.EXT
--------[Cut Here]-------------------------------------------------------------
Online INSTAbank R E G I S T R A T I O N F O R M
~~~~~~ ~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~
*Sysop Name: _______________________________________________
*BBS Name: _______________________________________________
Address: _______________________________________________
_______________________________________________
City: ________________________ Prov/State: __________
Postal/Zip Code: __________________ Country: __________________
BBS Phone: __________________ Max Baud Rate: _____________
If you plan to call the BBS to pickup your registration code,
please fill out the following:
Real Name:_______________________________ (do NOT use an alias)
Password to use:_________________________
ANSI colour? (Yes or no):________________
The number you will be calling from:_______________________
(this will be matched via call display)
You *ONLY* need to fill out this information if you want me to
create an account ahead of time for you (and you are mailing this
form in. If you are simply going to call the BBS to get your
Registration code, don't worry about this logon info...)
Where did you obtain your copy of Online INSTAbank?
________________________________________________________________
Comments/Suggestions:
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
--------[Cut Here - end of registration form]-------------------------------------------------------------
Mail the above registration form to:
Bill Dykstra
189 Bristol Road
Newmarket, Ontario. Canada.
L3Y 7X9
or call The BillBoard BBS
(416) 898-2443
14.4k v.32bis/v.42bis 8,N,1
and leave a message to Bill Dykstra (or sysop), with this
form file attached to the message.
FidoNET 1:250/932
European Registration Site:
Pascal van Rossum
The White Room
Utrecht, The Netherlands
14.4k v.32bis/v.42bis
Phone +31-30-893342
Fidonet 2:281/714
If you would like me to send your registration code to you in the
mail, please include a self addressed stamped envelope (why should
I pay if you don't have to!?). If you do NOT include an envelope,
then I will assume that you will be calling the BBS.
I will create an account for you on the BBS if you fill out the
appropriate information above. I will leave you a message with
your registration code in it. Please allow enough time for the
letter to arrive here. I will post a message with your reg. code
the same day that I receive your letter. You do NOT have to mail
this form to me, however. You may call the BBS, upload this form
to me (File attach it to a message), and then page me. If I'm
around, I'll get your code on the spot. If I am not around, you'll
have to call back. I usually check mail every night at 5:45pm, as
well as at other random times. If you leave a message before 5:30pm
it will almost surely be answered by 6:30pm.
(see above for BBS phone number)
*NEW* (as of February 1993) *NEW*
You may now register ONLINE! Just call the BBS, logon as a new
user, and select the "O"nline registration command from the
newuser menu! You don't have to wait for validation or for a
reply from me! Just answer the questions the program asks, and
it will spit out your registration code for you right away!
I hope this program works well for you, and you have no problems!
I apologize for the lack of user-friendliness in the program
configuration and documentation. Again, I didn't originally plan
on releasing this to the public, so I didn't worry too much about
being user friendly. Also, its freeware, so I guess you shouldn't
expect everything!
Need an archive viewer? Online Archive Master 5.0 is now available!
It is also FREEWARE, and is available on the BBS. This program will
allow users to view the contents of ZIP, ARJ, LHA, LZH, ARC, and PAK
files while online. They may also read files within the archive and
extract files to a separate extract zip file! Check it out on
the BBS!
These are both programs that I have written for my personal use on
my BBS, but, with the help of a few local sysops who kept bugging
me to release them, I have made public versions available. Since I
originally made them for my own use, and didn't intend them for
public release, I am making them freeware. After all, the program
was there, so why not let others benefit from them? I hope you
find them useful.
Need to access the bank files yourself?
If you are writing a door or utility, and you would like to be
able to read and write user's bank account records yourself,
you may contact me for the structures of the bank's data files.
Preferably you should use THEBANK.EXT method of accessing accounts,
but if this is not sufficient, please let me know, and I'll see
what I can do.
--Bill Dykstra